import 'package:PollOnLine/manager/UserInfoManager.dart';
import 'package:get/get.dart';

import '../../../manager/AppSetInfoManager.dart';
import '../../../utils/PackageInfoUtils.dart';
import '../../../utils/path_provider_utils.dart';
import '../../web/WebViewPage.dart';
import 'set_state.dart';

class SetLogic extends GetxController {
  final SetState state = SetState();

  @override
  void onReady() {
    super.onReady();
    initData();
  }

  // 退出登录
  void loginOut() {
    UserInfoManager().loginOut();
  }

  void initData() {
    // 获取缓存
    getCacheData();
    // 获取当前版本号
    getVersion();
  }

  // 获取缓存
  Future<void> getCacheData() async {
    String value = await PathProviderUtils().loadCache();
    state.dataNum = value;
    update();
  }

  // 清除缓存
  Future<void> clearAllCache() async {
    await PathProviderUtils().clearAllCache();
    getCacheData();
  }

  // 获取当前版本号
  Future<void> getVersion() async {
    String value = await PackageInfoUtils().getVersion();
    state.version = 'v$value';
    update();
  }

  /// 跳转 用户协议和隐私政策
  void goToAgreementWebViewPage() {
    Get.to(() => WebViewPage(title: '用户协议和隐私政策', url: AppSetInfoManager().getAgreementUrl()));
  }

  /// 跳转 应用权限说明
  void goToPermissionWebViewPage() {
    Get.to(() => WebViewPage(title: '应用权限说明', url: AppSetInfoManager().getPermissionUrl()));
  }

  @override
  void onClose() {
    super.onClose();
  }
}
